package com.shanxi.cz.module.biz.controller.admin.ammeterbasicinfo.vo;

import com.alibaba.fastjson.annotation.JSONField;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.google.gson.annotations.SerializedName;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
import javax.validation.constraints.*;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;

@Schema(description = "管理后台 - 电表基础信息新增/修改 Request VO")
@Data
public class AmmeterBasicInfoSaveReqVO {

    @Schema(description = "主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "13416")
//    @JsonProperty("ID")
    private Integer id;

    @Schema(description = "安装区域", example = "张三")
    @JsonProperty("AreaName")
    @SerializedName("AreaName")
    private String areaName;

    @Schema(description = "电表别名", example = "王五")
    @JsonProperty("AmmeterName")
    @SerializedName("AmmeterName")
    private String ammeterName;

    @Schema(description = "电表通信地址")
    @JsonProperty("Address")
    @SerializedName("Address")
    private String address;

    @Schema(description = "电压变比、电压互感器（PT）")
    @JsonProperty("TimesV")
    @SerializedName("TimesV")
    private Double timesV;

    @Schema(description = "电流变比、电流互感器（CT）")
    @JsonProperty("TimesA")
    @SerializedName("TimesA")
    private Double timesA;

    @Schema(description = "费率类型，单、多 (SingleRate :单费率（单相表1），多费率（其他0） ，与TypeName字段无关)")
    @JsonProperty("SingleRate")
    @SerializedName("SingleRate")
    private Boolean singleRate;

    @Schema(description = "波特率 default(2400)")
    @JsonProperty("Baudrate")
    @SerializedName("Baudrate")
    private Integer baudrate;

    @Schema(description = "规约 -电表default(30)")
    @JsonProperty("Protocol")
    @SerializedName("Protocol")
    private String protocol;

    @Schema(description = "跳合闸状态字段： 0 合闸，1 跳闸 电表：TripState （0 合闸-通电, 1 断开、跳闸）；")
    @JsonProperty("TripState")
    @SerializedName("TripState")
    private Integer tripState;

    @Schema(description = "在线状态 0 离线 1在线")
    @JsonProperty("OnlineState")
    @SerializedName("OnlineState")
    private Boolean onlineState;

    @Schema(description = "电表添加时间")
    @JsonProperty("AddDate")
    @SerializedName("AddDate")
    private String addDate;

}